Generate Contours from Points

Your product contains functionality to generate contour strings from an input points data object.

Contouring is the process of tracing contours - lines of equal z-value (such as grade, elevation, seismic travel time or drillhole intercept positions) - on a grid for representation of the surface on a map.

Contouring Point Data

The input to this function is a loaded points object. The command optionally generates an output string file containing contours at nominated elevations, a grid and/or a wireframe surface object.

For more general information, see Contours from Points - Introduction.

Create Grade Contours from Points

Grade contouring is one key application for the generate-contours-from-points command. Grade contours generated in this way loosely mimics the processes of grade interpolation in processes such as GRADE and ESTIMA, and other interactive functions Studio products, including Advanced Estimation.

The same interface is used to produce both grade- and elevation-maps (the following procedure), and both rely on a loaded points object to exist in memory.

To define data inputs for grade contouring:

  1. Load the points file containing sample grade information into any 3D window.
  2. If you plan to create contours based on a subset of loaded points, select them in the 3D window first. If no data is selected, all point data in the target data object is used for contouring.

  3. Run the generate-contours-from-points command.
  4. Choose the data to contour.

    • To contour all points in a particular points data Object, select the object from the list provided. If the data you loaded in step 1 is the only points object, it is already selected.

    • To only contour selected points, choose Selected points followed by Store Current Selection. The number of selected points displays.

  5. Use the Contour attribute drop-down list to select a grade attribute.

  6. To choose how or if data Faults are applied:

    • Choose None to contour without faulting, or;

    • Enable Object and pick a string object representing fault traces, or;

    • Enable Selected strings and pick one or more strings interactively in the 3D view, before selecting Store Current Selection. The number of selected fault strings displays.

  7. To choose how or if Clipping Polygons are used to restricted the output of contour string, grid or surface data:

    • Choose None to contour without constraining output data, or;

    • Enable Object and pick a string object representing a boundary to constrain output data, or;

    • Enable Selected strings and pick one or more strings interactively in the 3D view, before selecting Store Current Selection. The number of selected fault strings displays.

    • Choose to keep either generated contour data that is Inside or Outside the clipping polygon(s).

  8. Choose a Plane Orientation to use as a basis for contour data generation. This can be either a preset (Horizontal, East-West etc.), the Current section (the active section) or the Current view direction.

    Alternatively, set a custom plane orientation using the Azimuth and Dip fields.

To define the grid used for grade contouring:

  1. Click Next to display the Generate Contours – Gridding screen.
  2. Choose the Extents of your output grid.
    • Choose Use data extents to define the bounds of your output contour data to match the outer hull of your input points, or;

    • Specify a Custom area by setting minimum and maximum X and Y values for the output grid.

  3. Margin represents the amount by which the contours (and surface) are extended beyond the original data hull. This option is only available if Use data extents is enabled.



    The generated grid always uses the Min and Max values regardless or any intermediate changes to margin (although the actual grid maximum may be rounded up to the next whole cell size).

  4. Resolution tools let you define the grid cell size or number of grid cells. This increases or decreases the distance between grid points.

    • If setting the Cell Width and Cell Height, higher numbers will reduce the inter-point distance of the grid.
    • If setting the number of Cells Across and Cells Up, higher numbers increase the distance.

    For example, in the image below, if only the Cells across and Cells up values are changed between contouring runs, the resolution of the output grid changes:





  5. Estimation parameters determine how the surface is generated between points.

    The options for estimation Algorithm are:

    •  Distance Weighted Average: the estimate is the average of sample values used by weighting the inversely to the square of their distance from the node.
    •  Minimum Curvature: this is also an inverse distance weighted average method, but also uses slope information at the node being estimated.
    •  Trend Surface: use a polynomial projection method to interpolate a trend surface between points. Select the polynomial order to determine the type of calculation performed.

      For example:

  6. Set your Estimation method. For the majority of cases, the default [Slope] setting is fine.

  7. Similarly, there are multiple Smoothing options available for your contours (this will have no effect on the output grid model). Biharmonic applies a sensible smoothing level to most inputs and parameters e.g.:



  8. Optionally, use a Search Ellipse to encourage a contouring trend:

    • Define the Rotation (azimuth) of the ellipsoid. This must be a value between 0 and 360 degrees (inclusive).

    • Set the Major axis length of the ellipse (the longest axis).

    • Set the Minor axis length.

    • Set the Min. samples. This is the minimum number of data points that must be present within the search ellipse before contouring is affected. Higher values lead to more generalized contour shapes.

To define output parameters for distance contouring:

  1. Click Next to display the Output Data screen.

  2. Choose to Output contour strings to either the Current strings object or a new object (and name it).

  3. Determine the distance between contour elevations using the Interval setting.

    If you wish to Offset intervals from their default position, enter a positive or negative value.

    For example, to display contours 10 grade values apart, but at elevations 2, 12, 22, 32 etc., set Interval to "10" and Offset to "2".

    Alternatively, define Custom values by adding any value to a bespoke list.

    1. Enter any value into the Add value field. This must be a numeric number within the range of available values (otherwise, you are advised of the range and the value isn't accepted).

    2. Continue to add values. Values are sorted automatically from low-high in a top-bottom order.

    3. You can Clear all values at any time. This cannot be undone. To delete individual custom values, pick them in the list and press <DELETE>.

  4. Define the value range within which contours are generated:

    • Choose Use data extents to generate contours for the full value range.
    • If you wish to constrain the contours generated to upper and lower values, select Custom and set the Lowest and Highest value accordingly. The Interval does not have to be a precise factor of either the Lowest or Highest value.
  5. Choose the base Elevation to use for the contour strings:

    • Select Use attribute to align contour strings at the same elevation as the input data points, or;

    • Position the contour strings below the data points using Below data.

    • Specify an absolute elevation (Z) value at which to generate contour strings.

  6. To generate a grid object with cells representing contour values, enable Output grid object. Essentially, if enabled, a block model will be created, interpolating between the loaded data points.

    1. Enter a New grid object name.

      Choose where the grid model is generated, either directly under the input data points (Below data) or a Custom model of any height using a lower (Min Z) and upper (Max Z) elevation value.

      If a faulted output has been chosen (on the Data screen), the resolution of grid cells around the fault location can be increased or decreased using Faulted Refinement. By default, a value of "1" means no sub-celling is performed, whereas a value of "2" will permit quarter-area blocks to be generated.

      Note: Higher Faulted Refinement values lead to higher processing times and potentially bigger output data files.

    2. Choose how to colour the grid by picking a Legend.

      • The From contours option ensures the generated legend uses the default legacy rainbow scheme and legend values are created at the contour values specified in the Output Contour Strings section above(either at fixed intervals or at custom values, depending on what is selected up there).

      • Choose Smooth to select a Colour scheme, a legend interval Count (the total number of 'bins' in the final legend) and a Distribution type. This will generate a legend based on the input data that is used to generate the grid. So, if your drillhole grade values run from 0 to 29.96 and your bin count is set to 100, a legend is created with 100 intervals that span that range.

        For example, the top image, below, shows grid output with an 'unsmooth' legend applied, whilst the lower image shows one of the custom smooth legend colouring options in action:

  7. If you wish to output a wireframe surface that is an interpolation of your contour strings, select the Output surface option.

    1. Choose a Tolerance. This value is used for precision when generating data through the input data points. Higher values lead to more generalized surfaces where data points may align less precisely with the output wireframe than smaller values (although the calculation may be faster and errant noise may be removed automatically).

    2. As with the grid output (see above) you can choose how closely an output wireframe aligns with the input fault trace data, if specified. In essence, with the Faulted Refinement option, you are choosing how many wireframe data subdivisions are required to align data on either side of the fault with the fault string(s). This can be considered a measure of data granularity near the fault zone, with higher numbers giving rise to a closer match between the edge of the wireframe near the fault and the string itself.

      Here are some examples of the same input data and parameters, and differing Fault Refinement values:

  8. You can either Output surface wireframe surface data to the Currrent wireframe object (which can be useful for building up multiple surfaces, say, reflecting each lithology within a drillhole set), or select any wireframe object in which to store your output surface (current or otherwise) using the drop-down list.

    Alternatively, enter a new name into the editable field, and it will be created.

  9. Click Finish and review your results.

Related topics and activities